The following notions are used in this application:
“Data management system” is an entity, which comprises one or more databases and/or data management systems, whereby the system is responsible for reading the data structures contained in the databases and/or data management systems and for changing these data structures.
“Database” is an information structure, which comprises one or more data elements, and the use of which is controlled by the data management system. The invention is applicable both in relational databases and in databases of other forms, such as in object oriented databases.
“Data element” is an information structure, which can comprise other data elements or such data elements, which can be construed as atomary data elements. For instance, in a relational database data elements are represented by tables comprising rows. The rows comprise fields, which are typically atomary data elements.
“Database operation” is an event, during which data elements are read from the database, during which data elements of the database are modified, during which data elements are removed from the database, and/or during which data elements are added to the database.
“Transaction” is a plurality of database operations acting on the data elements. A transaction can also comprise further transactions.
“Database Catalog” is a logical database within a database instance. A physical database can manage data of multiple database catalogs. Each database catalog can act as an independent master or replica database node in a database synchronization environment.
“Database Schema” is the structure of a database system, described in a formal language supported by the database management system (DBMS). In a relational database, the schema defines the tables, the fields in each table, and the relationships between fields and tables.
“Master database” is a database catalog in a database synchronization system that contains the official version of synchronized/distributed data. A master database can have multiple replica databases.
“Replica database” is a database catalog in a database synchronization system that contains a full or partial tentative copy of the master data.
“Synchronization” is operation between replica and master database catalogs in which changed data is exchanged between the catalogs. In one known embodiment, this means propagation of Intelligent Transactions from replica to master and/or subscription of changed data of publications from master to replica.
“Publication” is a set of data in a database catalog that has been published in master database for synchronization to one or multiple replica databases.
There are presently some software push technologies available that are capable of pushing a set of software files to terminals and keeping the once-installed configuration up-to-date by pushing upgrade files to the terminal on an as-needed basis. This means that the software that is stored and run locally in the terminal can be managed remotely.
However, this technology does not address the requirements of mobile users and wireless communities where it is important to manage a potentially large, dynamically changing set of applications. For instance, the list of services available to that terminal, i.e, the “desktop” of the terminal, is relatively static and cannot be easily changed to reflect different roles and locations of the user of the terminal.
Many web portals allow personalization of their home pages so that different users can have different view to the list of services provided by the portal. This perzonalization data is separate for each portal and it cannot be utilized when using another portal. Moreover, web portal personalization techniques are applicable only to web-based applications, i.e. services that are provided by a server that resides in the network.
For these reasons, the current web service personalization technology that operates on isolated and proprietary user profile data is not feasible in environments, where there are potentially a very large number of application service providers, e.g. one per each wireless base station, which all need to conform with the personal preferences of the user and capabilities of the current terminal of the user.